<?php
class NpcOrderVo extends SzAbstractMySqlVo
{

    private $userId;
    private $indexId;
    private $orderId;
    private $npc;
    private $ratio;
    private $isJump;

    /**
     * Initialize NpcOrderVo.
     *
     * @param $userId
     * @param $indexId
     * @param $orderId
     * @param $npc
     * @param $ratio
     * @param $isJump
     * @param boolean $isInsert default false, means for now this vo is initialized not for insert process
     * @return NpcOrderVo
     */
    public function __construct($userId, $indexId, $orderId, $npc, $ratio, $isJump, $isInsert = false) {
        $this->userId = $userId;
        $this->indexId = $indexId;
        $this->orderId = $orderId;
        $this->npc = $npc;
        $this->ratio = $ratio;
        $this->isJump = $isJump;

        $this->isInsert = $isInsert;
        $this->voClassName = 'NpcOrderVo';
        $this->ormName = 'NpcOrder';
    }

    /**
     * @see SzAbstractVo::toArray
     */
    public function toArray($needEncode = false)
    {
        return array(
            'userId' => $this->getUserId(),
            'indexId' => $this->getIndexId(),
            'orderId' => $this->getOrderId(),
            'npc' => $this->getNpc(),
            'ratio' => $this->getRatio(),
            'isJump' => $this->getIsJump(),
        );
    }

    /**
     * @see SzAbstractVo::toEntireArray
     */
    public function toEntireArray($needEncode = false)
    {
        return array(
            'userId' => $this->getUserId(),
            'indexId' => $this->getIndexId(),
            'orderId' => $this->getOrderId(),
            'npc' => $this->getNpc(),
            'ratio' => $this->getRatio(),
            'isJump' => $this->getIsJump(),
        );
    }

    /**
     * @see SzAbstractVo::toPureArray
     */
    public function toPureArray()
    {
        return array(
            $this->getUserId(),
            $this->getIndexId(),
            $this->getOrderId(),
            $this->getNpc(),
            $this->getRatio(),
            $this->getIsJump(),
        );
    }

    public function getUserId()
    {
        return $this->userId;
    }

    public function setUserId($val)
    {
        $this->saveColumnStatus(0, $this->userId);
        $this->userId = $val;
    }

    public function getIndexId()
    {
        return $this->indexId;
    }

    public function setIndexId($val)
    {
        $this->saveColumnStatus(1, $this->indexId);
        $this->indexId = $val;
    }

    public function getOrderId()
    {
        return $this->orderId;
    }

    public function setOrderId($val)
    {
        $this->saveColumnStatus(2, $this->orderId);
        $this->orderId = $val;
    }

    public function getNpc()
    {
        return $this->npc;
    }

    public function setNpc($val)
    {
        $this->saveColumnStatus(3, $this->npc);
        $this->npc = $val;
    }

    public function getRatio()
    {
        return $this->ratio;
    }

    public function setRatio($val)
    {
        $this->saveColumnStatus(4, $this->ratio);
        $this->ratio = $val;
    }

    public function getIsJump()
    {
        return $this->isJump;
    }

    public function setIsJump($val)
    {
        $this->saveColumnStatus(5, $this->isJump);
        $this->isJump = $val;
    }

}